﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GetSmartIDEList.Lib.IOC
{
    public class ContainerRegistModel
    {
        /// <summary>
        /// 目标类型
        /// </summary>
        public Type TargetType { get; set; }

        public LifetimeType Lifetime { get; set; }
        /// <summary>
        /// 仅限单例
        /// </summary>
        public object SingletonInstance { get; set; }
    }

    /// <summary>
    /// 生命周期类型
    /// </summary>
    public enum LifetimeType
    {
        Transient,
        Singleton,
        Scope,
        PerThread//线程单例
        //外部可释放单例
    }
}
